package object;

public class IntegerDemo {
    public static void main(String[] args) {
        //演示包装类的常用操作
        //1)可以通过包装类来获取基本数据类型的取值范围
        int max=Integer.MAX_VALUE;//获取最大值
        int min=Integer.MIN_VALUE;//获取最小值
        System.out.println("int最大为"+max+",int最小为"+min);
        long max1=Long.MAX_VALUE;//最大
        long min2=Long.MIN_VALUE;//最小
        System.out.println("long的最大值为"+max1+",最小值为"+min2);
        //2)包装类可以将字符串转换为对应的基本数据类型
        String s1="39";
        int age=Integer.parseInt(s1);
        System.out.println(age);
        String s2="123.456";
        //价格
        double price=Double.parseDouble(s2);




/*
        String s="666";
        int ss=Integer.parseInt(s);
        System.out.println(ss);
        String q="888.99";
        double qq=Double.parseDouble(q);
        System.out.println(qq);
*/


        /*
//触发了自动装箱特性，会编译为；Integer i=Integer.valueOf(5);
        Integer i=5;//基本类型到包装类-----装箱
        //触发了自动拆箱特性，会编译为；int j=i.intValue();
        int j=i;//包装类到基本类型-------拆箱
*/


        /*
        //演示包装类的定义
        Integer i1=new Integer(500);
        Integer i2=new Integer(500);
        System.out.println(i1==i2);//比较地址
        System.out.println(i1.equals(i2));//包装类都重写过equals（）比较值了
        //valueOf()方法会复用1个字节（-128到127）范围内的数据,建议使用valueOf节省内存空间
        Integer i3=Integer.valueOf(500);
        Integer i4=Integer.valueOf(500);
        System.out.println(i3==i4);//（-128到127）范围true地址相同
        System.out.println(i3.equals(i4));
        //将包装类型转换为基本类型
        int i=i4;
        int a=500;
        System.out.println(i);
        System.out.println(i==a);
        System.out.println(a==i4);
*/
    }
}
